# Contributor: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
# Maintainer: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
pkgname=awall
pkgver=1.8.0
pkgrel=1
pkgdesc="Alpine Wall"
url="https://gitlab.alpinelinux.org/alpine/awall"
_luaver=5.3
arch="noarch"
license="GPL-2.0"
replaces="awall-nat"
depends="drill ip6tables ipset iptables lua$_luaver lua$_luaver-alt-getopt
         lua$_luaver-cjson lua$_luaver-pc lua$_luaver-posix lua$_luaver-stringy
         lua$_luaver-lyaml xtables-addons"
subpackages="$pkgname-masquerade $pkgname-policies"
triggers="$pkgname.trigger=/usr/share/awall"
source="$url/-/archive/v$pkgver/awall-v$pkgver.tar.bz2
	awall-init
	setup-firewall
	"
builddir=$srcdir/awall-v$pkgver

build() {
	sed -i -e "1,1s:lua:lua$_luaver:" awall-cli
	return 0
}

check() {
	make LUA_VERSION=$_luaver check
}

package() {
	make "ROOT_DIR=$pkgdir" LUA_VERSION=$_luaver install
	install -D "$srcdir"/awall-init "$pkgdir"/usr/libexec/awall-init
}

masquerade() {
	depends=awall
	for file in lua/$_luaver/awall/modules/masquerade.lua awall/mandatory/masquerade.json; do
		local path=usr/share/$file
		install -d "$subpkgdir/$(dirname $path)"
		mv "$pkgdir/$path" "$subpkgdir/$path"
	done
}

policies() {
	depends=awall
	local dir=usr/share/awall/optional
	install -d "$subpkgdir"/$dir
	mv "$pkgdir"/$dir/*.json "$subpkgdir"/$dir
	install -D "$srcdir"/setup-firewall "$subpkgdir"/usr/sbin/setup-firewall
}

sha512sums="49b7d4847b3b1913daf74ed731459d9d74f283b33d62fa5a8864ae68b1e405c61aceaa2646bff6e9846f512298d7fe543979623adc9f5e8d613e63d04d22ff57  awall-v1.8.0.tar.bz2
e83ea3281c298092530e45fa5b62f6f85b9e5109b11e109799465ea832608294c7d9c4c3f5b0f321dfc0e82040daf3a17d066e9dea65cb0dbae2c453ea9e62cd  awall-init
1cd4b7fa5fc6c9ac6667dff5cc00d96a3cc42aaccafe3c5562d3dcfd9f22ddec9cfe5a9339fee8001b67ccb8e8b81c9417f39a461e5052af9bf74a2753559bf7  setup-firewall"
